#ifndef CARG_JUEGO_HPP
#define CARG_JUEGO_HPP

/*--------------------------------------------------------------------------------------------------------------
 * INCLUDES
 *-------------------------------------------------------------------------------------------------------------*/
#include "utils.hpp"
#include "cargador.hpp"
#include "configurador.hpp"
#include "Fase_Intro.hpp"
#include "Fase_Config.hpp"
#include "Fase_DBG.hpp"

namespace bp
{

/*--------------------------------------------------------------------------------------------------------------
 * CLASS: CARG_JUEGO (Cargador)
 *-------------------------------------------------------------------------------------------------------------*/
class Carg_Juego : public cargador
{
	/*--------------------------------------------------------------------------------------------------------------
	* PRIVATE ATTRIBUTES
	*--------------------------------------------------------------------------------------------------------------*/
	private:
		std::map<const char*, cargador*>						m_elementos;
		bool													m_continuar;

	/*--------------------------------------------------------------------------------------------------------------
	* PRIVATE ATTRIBUTES
	*--------------------------------------------------------------------------------------------------------------*/
	private:
		bool						iteracion					();    
		void						Limpiar						();
		bool						Inicializar					();
		bool						InicializarSistemas			();
		bool						InicializarFases			();
		bool						InicializarVentana			();

	/*--------------------------------------------------------------------------------------------------------------
	* PRIVATE ATTRIBUTES
	*--------------------------------------------------------------------------------------------------------------*/
	public:
									Carg_Juego					(const char* id);				
									~Carg_Juego					();  
		bool 						Ejecutar					();
    
};

} // namespace bp
#endif // CARG_JUEGO_HPP
